package projeto.administrativo.usuarios.cih;

import org.zkoss.zk.ui.event.Events;

import plataforma.cih.campos.CampoData;
import plataforma.cih.campos.CampoEmail;
import plataforma.cih.campos.CampoSenha;
import plataforma.cih.campos.CampoTexto;
import plataforma.crud.cih.GridDados;
import nucleo.comuns.util.NucleoMensagens;
import nucleo.comuns.visao.NucleoTab;

public class AbaUsuario extends NucleoTab {

	GridDados gridDadosCadastro = new GridDados();

	CampoTexto login = new CampoTexto();
	CampoSenha campoSenha = new CampoSenha();
	CampoSenha campoSenhaConfirmacao = new CampoSenha();
	

	public AbaUsuario() {

		montar();
	}

	private void montar() {
		setNomeTab(NucleoMensagens
				.getMensagem(NucleoMensagens.TERMO_DADOS_CADASTRO));

		gridDadosCadastro.adicionarLinhaObrigatoria("Login", login);
		gridDadosCadastro.adicionarLinhaObrigatoria("Senha", campoSenha);
		gridDadosCadastro.adicionarLinhaObrigatoria("Confirme a Senha", campoSenhaConfirmacao);
		
		login.definirTamanhoMedio();
		login.setMaxlength(50);
		login.setConstraint("no empty");


		setConteudoTab(gridDadosCadastro);

	}

	public CampoTexto getCampoLogin() {
		return login;
	}

	public void setCampoLogin(CampoTexto login) {
		this.login = login;
	}

	/**
	 * @return the campoSenha
	 */
	public CampoSenha getCampoSenha() {
		return campoSenha;
	}

	/**
	 * @param campoSenha the campoSenha to set
	 */
	public void setCampoSenha(CampoSenha campoSenha) {
		this.campoSenha = campoSenha;
	}

	/**
	 * @return the campoSenhaConfirmacao
	 */
	public CampoSenha getCampoSenhaConfirmacao() {
		return campoSenhaConfirmacao;
	}

	/**
	 * @param campoSenhaConfirmacao the campoSenhaConfirmacao to set
	 */
	public void setCampoSenhaConfirmacao(CampoSenha campoSenhaConfirmacao) {
		this.campoSenhaConfirmacao = campoSenhaConfirmacao;
	}

	public GridDados getGridDadosCadastro() {
		return gridDadosCadastro;
	}

	public void setGridDadosCadastro(GridDados gridDadosCadastro) {
		this.gridDadosCadastro = gridDadosCadastro;
	}

	public boolean isValid() {
		Events.postEvent("onBlur", login, login.getValue());
		return (login.isValid()  && (campoSenha.getValue().equals(campoSenhaConfirmacao.getValue())));
	}

}
